/**
 * @author madStone_l
 */
Ext.define('Sys.ux.JsonStore', {
			extend : 'Ext.data.Store',
			alias : 'store.SysStore',
			exceptionListener : true,
			constructor : function() {
				Ext.applyIf(this.proxy, {
							type : 'ajax',
							idProperty : 'ID',
							simpleSortMode : true, // 简单排序模式，类似于Ext3.x版本
							actionMethods : {
								read : 'POST',
								create : 'POST',
								update : 'POST',
								destroy : 'POST'
							},
							reader : {
								type : 'json',
								root : 'data',
								idProperty : 'ID',
								totalProperty : 'totalCount',
								successProperty : 'success',
								messageProperty : 'msg'
							}
						});
				this.callParent(arguments);
				if (this.exceptionListener === true) {
					this.getProxy().on('exception',
							function(dataProxy, response, operation, eOpts) {
								if (response.status != 200) {
									Ext.Msg.showError('加载数据失败，错误号：'
											+ response.status);
									return false;
								}
								if (response.responseText != '') {
									var msg = Ext.decode(response.responseText).msg;
									if (!Ext.isEmpty(msg)) {
										Ext.Msg.showError(msg);
										return false;
									}
									Ext.Msg.showError(arg.message
											+ '<br/>文件位置：' + arg.fileName
											+ '<br/>错误类型：' + arg.name + ' 行号：'
											+ arg.lineNumber);
								}
							});
				}
				// debugger;
			}
		});